658. 找到 K 个最接近的元素
为保证权益,题目请参考 658. 找到 K 个最接近的元素(From LeetCode).
解决方案1
Python
python
# 658. 找到 K 个最接近的元素
# https://leetcode.cn/problems/find-k-closest-elements/
from typing import List
from functools import cmp_to_key
class Solution:
def findClosestElements(self, arr: List[int], k: int, x: int) -> List[int]:
def cmp(a:int,b:int):
if abs(a-x) == abs(b-x):
return a - b
else:
return abs(a-x) - abs(b-x)
arr.sort(key=cmp_to_key(cmp))
return sorted(arr[:k])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15